package prh25.biblioteca.service;

import java.io.Serializable;
import java.util.List;

import prh25.biblioteca.entity.Usuario;

public interface UsuarioService extends Serializable{
	
	/**
	 * Responsavel por realizar o login de um usuario no sistema.
	 * @param usuario - O login do usuario no sistema.
	 * @param senha - A senha do usuario no sistema.
	 * @return O usuario identificado com o login e a senha passados.
	 * @return O usuario que se deseja altera o seu status.
	 */
	public Usuario login(String usuario, String senha);
	
	/**
	 * Lista todos os usuarios a partir de uma pesquisa realizada no
	 * banco de dados.
	 */
	public List<Usuario> listarUsuarios(String pesquisa);
	
	/**
	 * Altera o status do usuario, ou seja, se o usuario foi desbloqueado
	 * ou nao pelo coordenador.
	 * @param login - O login que o usuario se cadastrou.
	 * @param situacao - O status atual no qual o usuario se encontra.
	 */
	public Usuario setSituacaoUsuario(String login, boolean situacao);
	
	/**
	 * Deleta um usuario do banco de dados.
	 * @param login - O login do usuario que sera excluido.
	 */
	public boolean excluirUsuario(String login);
}
